package com.sdry.product.sorting.mapper;

import com.sdry.basic.entity.Container;
import com.sdry.basic.entity.Material;
import com.sdry.basic.entity.ProductionStation;
import com.sdry.basic.entity.WarehousesRegionLocation;
import com.sdry.product.prod.entity.ResultAppList;
import com.sdry.product.sorting.entity.SortingApp;
import com.sdry.transit.entity.TransitLoading;
import com.sdry.transit.entity.TransitOrderDetail;
import org.apache.ibatis.annotations.Param;

import java.util.List;

/**
 * 查询卸车收货的生产单据查询
 * @author chenBin
 * @date 2020年3月18日 14:54:58
 * @version 1.0
 */
public interface SortingAppServiceMapper {

    /**
     * 查询卸车收货的生产单据查询
     * @return HashMap<String, Object>
     */
    List<SortingApp> queryTransitLoadingDetailNumber();

    /**
     * 查询容器分拣区卸车收货编号
     * @param carNumber 车牌
     * @param tonumber
     * @return List<ProductionStation>
     */
    List<ProductionStation> querySortingContainerNumber(@Param("carNumber") String carNumber, @Param("toNumber") String toNumber);

    /**
     * 根据容器ID查找物料
     * @param containerId 容器ID
     * @return List<Material>
     */
    List<Material> queryBaseContainerMaterielList(String[] containerId);

    /**
     * 根据容器ID查找车辆ID
     * @param psId 容器ID
     * @return Long
     */
    TransitLoading queryCarIdByContainer(String psId);

    /**
     * 查询框编号
     * @return
     */
    List<Container> queryBaseContainerNumber();

    /**
     * 物质
     * @param typeNumber typeNumber
     * @return List<WarehousesRegionLocation>
     */
    List<WarehousesRegionLocation> queryBaseWarehousesRegionLocationNumber(String typeNumber);

    /**
     * 查询紧急程度、特殊要求
     * @param psId 容器编号
     * @return TransitOrderDetail
     */
    TransitOrderDetail queryTransitAttribute(String psId);

    /**
     * 查询物料
     * @param psnNumber
     * @return
     */
    List<Material> queryBaseContainerMaterielList2(String psnNumber);

    /**
     * 查询物料包含空框子
     * @param psNumbers
     * @return
     */
    List<ResultAppList<Material>> queryBaseContainerMaterielListAndEmpty(String[] psNumbers);
}
